# 修改一下第34行需要去重的图像文件夹路径以及13行图片后缀名即可使用
import os
from hashlib import md5


def remove_duplicate_images(folder_path):
    duplicate_images = set()

    # 遍历所有图片文件，并使用哈希值比较是否完全相同
    for file in os.listdir(folder_path):
        image_path = os.path.join(folder_path, file)
        with open(image_path, 'rb') as f:
            image_data = f.read()
            image_hash = md5(image_data).hexdigest()

            if image_hash in duplicate_images:
                f.close()
                # 如果哈希值存在于重复图片集合中，则删除图片文件
                print(os.path.basename(image_path))
                os.remove(image_path)
            else:
                # 否则将哈希值添加到重复图片集合中
                duplicate_images.add(image_hash)
                f.close()


# 文件夹路径
folder_path_ = './VOC2028_short/images1'

# 调用函数删除重复图片
remove_duplicate_images(folder_path_)